function Parent(name) {
  this.name = name;
}

Parent.prototype.sayHello = function() {
  console.log('Hello, I am ' + this.name);
};

function Child(name) {
  Parent.call(this, name); // 构造继承
}

var child = new Child('Child');
child.sayHello(); // error


// 拷贝继承
// function copyProperties(target, source) {
//   for (var key in source) {
//     console.log(key) // sayHello
//     if (source.hasOwnProperty(key)) {
//       target[key] = source[key];
//     }
//   }
// }

// function Parent() {
//   this.name = 'Parent';
// }

// Parent.prototype.sayHello = function() {
//   console.log('Hello, I am ' + this.name);
// };

// function Child() {
//   Parent.call(this);
//   this.name = 'Child';
// }

// copyProperties(Child.prototype, Parent.prototype);

// var child = new Child();
// child.sayHello(); // Output: Hello, I am Child